package com.lyf.scm.common.enums;

import java.util.ArrayList;
import java.util.List;

/**
 * description:
 * 直营预测计划指标枚举
 *
 * @author: haodong
 * @data: 2020/8/3 17:45
 */
public enum SalesPlanDirectlyEnum {

    /**
     * 系统预测量
     */
    FORECAST("predict_sales", "预测计划数量"),
    /**
     * 上次预测量
     */
    LAST_FORECAST("last_predict_sales", "上次预测数量"),
    /**
     * 预测浮动
     */
    FORECAST_FLUCTE("forecastFlucte", "预测差异数量"),
    /**
     * 预测浮动比例
     */
    FORECAST_FLUCTE_RATE("forecastFlucteRate", "预测差异比例"),
    /**
     * 本次确认数量
     */
    NOW_CONFIRM("NOW_CONFIRM", "本次确认数量"),
    /**
     * 上次确认数量
     */
    LAST_CONFIRM("LAST_CONFIRM", "上次确认数量"),
    /**
     * 下级确认数量
     */
    SUB_CONFIRM("SUB_CONFIRM", "下级确认数量"),
    /**
     * 四级确认量
     */
    CONFIRM_L4("confirm_l4", "地总确认数量"),
    /**
     * 四级上次确认量
     */
    LAST_CONFIRM_L4("last_confirm_l4", "地总上次确认数量"),
    /**
     * 三级确认量
     */
    CONFIRM_L3("confirm_l3", "片总确认数量"),
    /**
     * 三级上次确认量
     */
    LAST_CONFIRM_L3("last_confirm_l3", "片总上次确认数量"),
    /**
     * 二级确认量
     */
    CONFIRM_L2("confirm_l2", "区总确认数量"),
    /**
     * 二级上次确认量
     */
    LAST_CONFIRM_L2("last_confirm_l2", "区总上次确认数量"),
    /**
     * 一级确认量
     */
    CONFIRM_L1("confirm_l1", "门店确认数量"),
    /**
     * 二级确认量指标
     */
    CONFIRM_TARGET2("confirm_target2", "区总确认目标数量"),
    /**
     * 三级确认量指标
     */
    CONFIRM_TARGET3("confirm_target3", "片总确认目标数量"),
    /**
     * 四级确认量指标
     */
    CONFIRM_TARGET4("confirm_target4", "地总确认目标数量"),
    /**
     * 预测确认差异
     */
    FORECAST_DIFFER_CONFIRM("forecastDifferConfirm", "预测确认差异数量"),
    /**
     * 预测确认差异比例
     */
    FORECAST_RATE_CONFIRM("forecastRateConfirm", "预测确认差异比例"),
    ACTUAL_SALES_QTY("actualSalesQty","实际销售数量");;
    // /**
    //  * 实际收货量
    //  */
    // ACTUAL_RECEIPT("actualReceipt", "实际收货量(箱规)"),
    // /**
    //  * 在库存量
    //  */
    // REAL_TIME_INVENTORY("realTimeInventory", "期末库存");

    private String columns;
    private String desc;

    SalesPlanDirectlyEnum(String columns, String desc) {
        this.columns = columns;
        this.desc = desc;
    }

    public static List<String> getDescList() {
        List<String> descList = new ArrayList<>();
        for (SalesPlanDirectlyEnum value : SalesPlanDirectlyEnum.values()) {
            if (value.getDesc().equals(SalesPlanDirectlyEnum.CONFIRM_L1.getDesc()) ||
                    value.getDesc().equals(SalesPlanDirectlyEnum.CONFIRM_L2.getDesc()) ||
                    value.getDesc().equals(SalesPlanDirectlyEnum.CONFIRM_L3.getDesc()) ||
                    value.getDesc().equals(SalesPlanDirectlyEnum.CONFIRM_L4.getDesc()) ||
                    value.getDesc().equals(SalesPlanDirectlyEnum.LAST_CONFIRM_L2.getDesc()) ||
                    value.getDesc().equals(SalesPlanDirectlyEnum.LAST_CONFIRM_L3.getDesc()) ||
                    value.getDesc().equals(SalesPlanDirectlyEnum.LAST_CONFIRM_L4.getDesc())) {
                continue;
            }
            descList.add(value.getDesc());

        }
        return descList;
    }

    public String getColumns() {
        return columns;
    }

    public void setColumns(String columns) {
        this.columns = columns;
    }

    public String getDesc() {
        return desc;
    }

    public void setDesc(String desc) {
        this.desc = desc;
    }
}
